//
//  TZWUser.swift
//  Sinaweibotzw
//
//  Created by 檀志文 on 16/4/15.
//  Copyright © 2016年 ios檀志文. All rights reserved.
//

import UIKit

/// 微博模型中得的用户模型
class TZWUser: NSObject {
//    用户 uid
    var id: Int64  = 0
//    用户昵称
    var screen_name: String?
    /// 用户头像地址（中图,50×50像素
    var profile_image_url: String?
    
    /// verified_type 没有认证:-1   认证用户:0  企业认证:2,3,5  达人:220
    var verified_type: Int = -1{
        didSet {
            // 当KVC给verified_type设置认证类型,来根据会员等级来生成对应的图片
            // 没有认证:-1   认证用户:0  企业认证:2,3,5  达人:220
            switch verified_type {
            case 0:
                verifiedImage = UIImage(named: "avatar_vip")
            case 2,3,5:
                verifiedImage = UIImage(named: "avatar_enterprise_vip")
            case 220:
                verifiedImage = UIImage(named: "avatar_grassroot")
            default:
                verifiedImage = nil
            }
        }
    }
//    verified图片，别人直接使用这张图片
    var verifiedImage: UIImage?
    
/// 会员等级: 1-6级
    var mbrank: Int = 0 {
        didSet {
            if mbrank > 0 && mbrank <= 6{
//               设置会员等级图片
                mbrankImage = UIImage(named: "common_icon_membership_level\(mbrank)")
            }else{
                // 防止cell复用设置nil
                mbrankImage = nil
            }
        }
    }
    
//  会员等级图片,别人直接使用这张图片
    var mbrankImage: UIImage?
//    var mbrank: Int = 0
//    字典转模型
    init(dict: [String: AnyObject]) {
        super.init()
// KVC字典转模型
        setValuesForKeysWithDictionary(dict)
    }
//    字典中的key在模型中找不到属性
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
    // 打印
    override var description: String {
        get {
            let keys = ["id", "screen_name", "profile_image_url", "verified_type", "mbrank"]
            return "\n\t\t: 用户模型: \(dictionaryWithValuesForKeys(keys))"
        }
    }
}
